using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using RpgXna.Model.Entities;
using RpgXna.Model.Entities.MainCharacter;
using RpgXna.Model.XnaClassesWrappers;

namespace RpgXna.Model
{
    public interface IEnvironmentRepository
    {
        InteractionEventWrapper Interactions { get; set; }
        void Add(PickableObject o);
        void CheckCharacterCollisions(Character c, GameTime gt, MouseState mState, IKeyboardStateWrapper kbState);
        bool CheckCollisions(IPickableObject o);
        void Draw(SpriteBatch sb);
        void Load(ContentManager cm);
        void Remove(IPickableObject o);
        void Update(GameTime gt, MouseState mState, IKeyboardStateWrapper kbState);
    }
}